package com.songshuai.webapi.permission.service;

import com.songshuai.webapi.permission.dto.request.NavigationAddReqDto;
import com.songshuai.webapi.permission.dto.request.NavigationRelateFunctionReqDto;
import com.songshuai.webapi.permission.dto.request.NavigationUpdateReqDto;
import com.songshuai.webapi.permission.dto.response.*;

import java.util.List;

public interface NavigationsService {

    //根据appid获取菜单列表
    List<NavigationListResDto> queryLoginNavigationList(Integer appId);

    //根据id获取菜单信息
    NavigationResDto queryNavigationById(Integer id);

    //新增菜单
    NavigationAddOrUpResDto addNavigation(NavigationAddReqDto parmDto);

    //修改菜单
    NavigationAddOrUpResDto updateNavigation(NavigationUpdateReqDto parmDto);

    /**
     * 删除菜单功能关系
     * 删除菜单用户关系
     * 删除菜单功能用户关系
     * 删除菜单
     */
    boolean deleteNavigation(Integer id);

    //查询功能列表并根据菜单id返填
    List<FunctionListQueryResDto> queryFunctionListByNav(Integer navigationId, Integer appId);

    /**
     * 删除菜单功能关系
     * 删除菜单功能用户关系
     * 关联功能
     */
    //关联功能
    boolean relateFunction(NavigationRelateFunctionReqDto reqDto);

}
